Controls are interface elements utilized by computer programmers to build graphical user interfaces (GUIs). Different controls support different types of interaction with a user of a computer program. Some controls, such as radio buttons, check boxes, drop-down lists and toolbars support selection-type functionality. Other controls, such as tabs and scrollbars, support navigation-type functionality. Other controls, such as text boxes and combo boxes support text input functionality. Other controls, such as tooltips, progress bars and labels, support output functionality. Still other controls support window-oriented functions. In many cases, a computer programmer will have access to control toolkits that contain a collection of controls from which to choose.
Recently, devices that support simultaneous (or practically simultaneous) activation of multiple inputs by one or multiple users have been introduced. Unfortunately, current control systems are generally not configured to effectively manage this type of multiple input scheme. Many current systems are limited to single input controls, which are not particularly effective in terms of their ability to support a multi-input (e.g., multi-touch) scenario. It is common for single input controls to malfunction and/or appear to be broken under such circumstances.
For example, one can imagine an interface that incorporates a traditional scrollbar that is a composite control containing other controls such as an “UP” button, a “DOWN” button and a “THUMB” slide for dragging and scrolling. Within many multi-input systems, should one try to press the UP and DOWN buttons simultaneously, the buttons will fire up and down commands at the same time. The application is unlikely to be configured to effectively handle the conflicting events.
A reliable solution for avoiding control conflicts is to limit user input for the entire application to single inputs only. However, in these circumstances, the multi-input functionality adds no value. Thus, there is a need for a control scheme configured to effectively manage multiple inputs from one or multiple users.
The discussion above is merely provided for general background information and is not intended for use as an aid in determining the scope of the claimed subject matter.